Laboratorio 4: Microestructura del mercado

Link GitHub:

Introducción

En el mercado de valores existe una microestructura la cual compone el mercado, y su comportamiento. Esta microestructura la podemos obtener por medio de los libros de órdenes, en los cuales se encuentran los precios de bid y ask que hay en un periodo de tiempo, así como los volúmenes que se ofertan y demandan en el mercado.

Con el fin de entender y visualizar la microestructura del mercado, por medio de los libros de órdenes, se obtienen valores y datos de valor. Dichos valores se sacan para cada periodo de tiempo con el fin de obtener una serie de tiempo y entender cómo es que se comporta dicha microestructura del mercado a lo largo del periodo de tiempo a analizar.

Por cada periodo de tiempo obtenemos el número de niveles, los cuales nos dicen el número de precios diferentes que se están ofertando y demandando en ese periodo de tiempo. También se obtiene el volumen que hay tanto para bid como ask, por lo tanto, si juntamos los niveles junto con su volumen podemos saber hacia que lado se está cargando la tendencia, y saber si es más la gente que quiere vender, o es más la gente que quiere comprar, de igual manera, saber si la distribución de los precios está muy separada o compacta, esto también nos ayudaría a comprender el mercado en ese periodo de tiempo.

Una vez que ya tenemos tanto los niveles como los volúmenes de bid y ask, se procede a calcular el volumen total en ese timestamp, y a sacar el mid price, el cual es el precio promedio que hay entre bid y ask de los precios con menor spread (a dichos precios se les conoce como top of the book. Y por último se obtiene el VWAP el cual es el precio promedio ponderado de todos los niveles que se encontraron en cada periodo de tiempo.

Con esta información y con unas visualizaciones de series de tiempo, se podrá observar el comportamiento del mercado en diferentes exchanges y con diferentes activos.


Objetivo

En este laboratorio usaremos información del Libro de Ordenes de Criptomonedas de diversos exchanges internacionales, con el objetivo primario de entender y visualizar la microestructura del mercado por medio del comportamiento de Libro de Ordenes y sus caracteristicas como; Matching Engine, Levels, Ask-Bid Volumnes, etc.


Datos utilizados

Para el presente laboratorio se usaron los datos descargados de diferentes exchanges apoyándonos de la librería CCXT, la cual nos permite descargar los precios de bid y ask, así como sus volúmenes de un activo en específico y en un periodo de tiempo específico.

Estos datos los descargamos en un diccionario en el cual primero se pone el exchange, y de cada exchange nos da por cada periodo de tiempo los precios ask, bid, el volumen ask, volumen bid y el spread.

Una vez que se tiene ese diccionario se mete a una función que se creó la cual nos convierte ese diccionario a una serie de tiempo en la cual por exchange nos da en cada periodo de tiempo el número de niveles, el volumen de bid, de ask, el volumen total, precio medio y VWAP.

Por último, con esa serie de tiempo se procede a graficar todas las series de tiempo para cada exchange para poder comparar los resultados obtenidos en cada uno de ellos.


Proceso

Primero se hace el análisis para el símbolo "BTC/EUR", el cual es Bitcoin/Euro.

Y se descarga la información de los exchanges:

BTC/EUR

Se muestra el diccionario con todos los timestamps y la información de cada uno de ellos

Una vez que se tiene el diccionario con los datos, se carga el dataframe que contiene la serie de tiempo

Por último se grafica cada una de las series de tiemo con los diferentes exchanges con los que se tiene información

Una vez que se realizó todo el proceso para el primer símbolo, se procede a hacer el mismo proceso pero para el símbolo "SOL/USD" el cual es Solana/Dolar Americano.

SOL/USD

Por último se repite el proceso para el último símbolo "ETH/USD" el cual es Ethereum /Dolar Americano.

ETH/USD


Conclusiones

Una vez que ya se tienen todos los resultados se pueden sacar varias conclusiones acerca del comportamiento del mercado.

Lo primero es ver que el número de niveles está limitado dependiendo del exchange que se use, esto se puede ver claramente en cada una de las gráficas por nivel, en las que los datos que se obtenían de "Kraken" o de "coinmate" tienen 100 niveles, mientras que "bitfinex" arroja 25 datos y los últimos dos ("ftx" y "currencycom") únicamente nos dan 20 niveles.

Ahora, hablando del volumen, tanto para ask como para bid, con los 3 símbolos o activos, "kraken" es el exchange que más volumen maneja, seguido de "currencycom". Y "Bitfinex" es de los exchanges que menor volumen manejó en estos símbolos y en estos periodos de tiempo.

En el caso de BTC/EUR algo que se puede notar, especialmente en el exchange de "coinmate" es que el volumen de ask fue mayor que el volumen de bid en el periodo de tiempo analizado, esto quiere decir que había más gente queriendo comprar que queriendo vender en esos momentos. Este tipo de información puede ser valiosa tanto para entender el mercado, como para tomar decisiones.

Un ejemplo más claro de este mismo comportamiento se puede observar en los gráficos de 'SOL/USD', en doende la escala del volumen de ask y bid es totalmente diferente, y aquí se puede observar claramente que hay mucha mas gente que quiere comparar que vender, y con unas dimensiones mucha más grandes.

Al observar el volumen total en los diferentes exchanges es curioso como tanto las cantidades de volumen como el comportamiento cambian dependiendo del exchange. Hay algunos exchanges en los cuales hay pocas variaciones del volumen a lo largo del tiempo, y hay otros en los cuales se pueden observar mas cambios en el comportamiento en el mismo periodo de tiempo. Un ejemplo es la gráfica del volumen total de "ETH/USD" en donde los datos obtenidos por medio del exchange "currencycom" tienen una mayor volatilidad que los resultados obtenidos de "kraken" aún cuando los volumenes son parecidos.

En cuanto al mid price, se puede observar un fenómeno similar al del volumen, en el cual dependiendo del exchange cambian tanto los valores como los comportamientos o tendencias. Hay exchanges en los que los precios son menos que en otros, y em algunos momentos los precios se llegan a cruzar entre los exchanges. Lo interesante sería ver un análisis de correlación entre el volumen y el precio, para ver qué tanto influye el precio para que un trader ejecute una operación en un exchange o en otro.

Por último se tienen los gráficos del VWAP que recordemos que también es una medida basada en el precio promedio, eso lo hace comparable con el gráfico del mid_price. El VWAP nos ayuda de igual manera a entender la tendencia y distribución del mercado. En el útimo símbolo ("ETH/USD") se puede observar que en los primeros periodos de tiempo el VWAP tenía un valor cercano al mid price, pero conforme avanzó el tiempo, el VWAP cayó mucho, esto debido a la distribución que fue tomando el mercado, en donde nos dice que la tendencia que el mercado estaba tomando era por cada vez vender mas y comprar a precios menores, mientras que el mid price aún no reflejaba esa caída, entonces con esta comparación entre el VWAP y el mid price puedes entender un poco las tendencias y las oportunidades que tiene el mercado para hacer trading.